import java.util.HashMap;
import java.util.Map;
import java.util.Set;

//四数相加II
public class Solution3 {
        public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
            int n = nums1.length;
            int count = 0;//统计符合四元组条件的次数

            //存放num1与num2相加的结果出现的次数
            //key为num1 + num2 value:出现的次数
            HashMap<Integer, Integer>  hm = new HashMap<>();
            for(int i = 0; i < n; i ++){
                for (int j = 0; j < n; j++) {
                    hm.put(nums1[i] + nums2[j],
                    hm.getOrDefault(nums1[i] + nums2[j],0) + 1);
                }
            }

            for(int i = 0; i < n; i ++){
                for (int j = 0; j < n; j++) {
                    int sum = nums3[i] + nums4[j];
                    if(hm.containsKey(0 - sum)){
                        count += hm.get(0 - sum);
                    }
                }
            }
            return count;
        }
}
